//集合 s 包含从 1 到 n 的整数。不幸的是，因为数据错误，导致集合里面某一个数字复制了成了集合里面的另外一个数字的值，
// 导致集合 丢失了一个数字 并且 有一个数字重复 。
//给定一个数组 nums 代表了集合 s 发生错误后的结果。
//请你找出重复出现的整数，再找到丢失的整数，将它们以数组的形式返回
//思路，标记法找出重复，求和找出丢失
int* findErrorNums(int* nums, int numsSize, int* returnSize) {
	static int arr[2] = { 0 };
	int tmp[100000] = {0};
	*returnSize = 2;
	for (int i = 0; i < numsSize; i++) {
		if (tmp[nums[i]] == -1) {
			arr[0] = nums[i];
			break;
		}
		tmp[nums[i]] = -1;
	}
	int sum = 0;
	for (int i = 0; i < numsSize; i++) 
		sum += ((i + 1) - nums[i]);
	arr[1] = sum + arr[0];
	return arr;
}